// ========================================
// John Conway's Game of Life: Redux
// Code: Adam Brown
// ========================================


//========================================================
Table of Contents:
//========================================================
I.	Description
II.	Controls
III.	Revision History
IV.	Building the Source
V.	Contact Info


//========================================================
I.	Description:
//========================================================
As every computer science major in the world has done,
I created a simple version of John Conway's "Game of Life".

But this was a while ago. And one night when I was bored,
I started this project. I'm now using raw OpenGL calls to
do the rendering so I can do some cool effects, like
blending the cell colors smoothly from one to the next.

Also, There is a 3D view which you can freely fly around in.
You will notice that the generation tracking via color change
is still present, but also, as cells get older they grow taller.

The Free fly view forced me to finially do a project I have
been wanted to do for some time. An extreemly simple to use
6 degrees of freedom Quaternion based camera.

Not only is the public interface extreemly easy to use, but
there is nothing to link to, simply include it into your
source and it's good to go.


//========================================================
II.	Controls:
//========================================================
Simulation View:
----------------
space 		= start/stop the simulation
+ 		= speed up the simulation
- 		= slow down the simulation
r 		= randomize the grid with life
c 		= clear the grid
left click 	= bring a cell to life
right click 	= kill a cell
1 		= Switch to Player 1
2 		= Switch to Player 2
w 		= toggle grid wrapping

Perspective (3D) View:
----------------------
Note: To look around, simply hold the left mouse button
while the cursor is over the 3D window, and move the mouse.

w		= Move Forward
S		= Move Back
A		= Strafe Left
D		= Strafe Right
Q		= Move Up
E		= Move Down

I		= Toggle Info
G		= Toggle Grid
Shift		= Double Speed

Note: Also many of the keys from the simulation window work
here as well. So you can use 'R' to randomize the grid,
'space' to toggle the simulation on and off, and so on.


//========================================================
III.	Revision History:
//========================================================

GOL: Redux Release: 18 JUL 2008 2.0:
------------------------------------
- Many many changes.


Initial GOL Release: 23MAR2008 1.0:
-----------------------------------
- Initial implementation


//========================================================
IV.	Building the Source:
//========================================================
I recomend you use Code::Blocks to build the source as that
is what I used and there are project files provided for it.

GOL: Redux links against SFML 1.3 (www.sfml-dev.org) which
the projects assume to be set up at the global level. (See
the SFML tutorial for setting it up with Code::Blocks)

Besides that, the GOL: Redux project also depends on the
GOL: Simulation engine which is it's own seperate project
and must be built first.

And lastly, all though it is included as a member of the
project, the EZCamera is infact it's own little project
of mine. See my website for more information.


//========================================================
V.	Contact Info:
//========================================================
Name: Adam Brown
web: www.darkrockstudios.com
aim: Jebradic
icq: 39886687
msn: wavesonics@hotmail.com
yho: Jebradic
email: adamwbrown@gmail.com